iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0
Security

我一個大調查下去:從零開始的數位鑑識系列 第 10

【Day 10】Disk Forensics 02:Linux 日誌分析 - Hammered Lab

  • 分享至 

  • xImage
  •  

前言

今天要打的是 Hammered Lab,難度為 medium,分類是 Endpoint Forensics。

Hammered

情境

這項挑戰將帶您進入虛擬系統並分析令人困惑的日誌資料。在本挑戰中,您將扮演 SOC 分析師,利用來自可能已受感染伺服器的日誌,找出該 Web 伺服器蜜罐發生了什麼事。
蜜罐 (Honeypot):是一種資安防禦技術,它模擬一個真實但沒有實際價值的電腦系統、網路服務或數據庫以吸引攻擊。一旦攻擊者進入這個虛擬的系統,他們的所有行為都會被仔細地記錄下來,從而讓資安團隊能夠學習攻擊者的戰術、技術和流程 (TTPs) 等等。

工具

文字編輯器

Q1:攻擊者使用哪種服務來存取系統?

要查看存取系統紀錄可以到 auth.log 尋找,auth.log 是 Linux 系統中記錄所有身分驗證相關事件的日誌檔案,而存取系統一般都需要身分驗證,所以 auth.log 是一個很好的出發點。
在 auth.log 中搜尋 Accepted password for root 可以搜尋成功的遠端 root 登入
https://ithelp.ithome.com.tw/upload/images/20250829/20177998apLQtEgvfZ.png
可以看到服務名稱為 ssh,並且在成功登入前有非常多的登入失敗 (Failed password),搜尋看看
https://ithelp.ithome.com.tw/upload/images/20250829/20177998YuKCDKYRgk.png
發現有 5000+ 失敗的 root 登入且很密集,很有可能是暴力破解攻擊 (brute force attacks)。
Ans:ssh

Q2:目標系統的作業系統版本是什麼?

一般 OS 版本資訊會存在 /etc 下,但這裡沒有這個目錄。但有 kern.log,kern.log 中有紀錄核心版本。
https://ithelp.ithome.com.tw/upload/images/20250829/20177998y6EZv9RTG3.png
但是我查網路上的資料,kern.log 提供的實際上是 kernel 版本,而不是 OS 版本但是這題的答案卻是 4.2.4-1ubuntu3,感覺有點混淆了 kernel 和 OS。我認為有可能是這個線索是唯一能找到的,那麼這個核心版本號就可能被當作唯一的答案。(這是我個人解讀,如果有誤歡迎指正)
Ans:4.2.4-1ubuntu3

Q3:被盜用的帳戶名稱是什麼?

前面 auth.log 中就能看到有五千多條失敗的 ssh root 登入,間隔很短,基本可以確定是暴力破解,並且可以看到有 28 條最後成功登入了,可以判斷 root 被盜了。
Ans:root

Q4:攻擊者(以唯一的 IP 位址識別)在最初的登入嘗試失敗後,有多少人成功登入系統?

我們的目標就是尋找暴力破解成功的 IP,也就是經過多次失敗最後有驗證成功的,且排除內網 IP。因為總共只有 28 條驗證成功的,我個人是一條一條看,看這個 IP 是否經過大量驗證失敗 (可以搜尋這個 IP 來看),接著比對是否為重複的 IP,最後得出這六個 IP:219.150.161.20, 222.66.204.246, 121.11.66.70, 222.169.224.197, 122.226.202.12, 61.168.227.12。
Ans:6

Q5:哪個攻擊者的 IP 位址成功登入系統的次數最多?

可以用 Accepted password for root from 來找,把六個都試過一遍,得出
219.150.161.20:4次
222.66.204.246:1次
121.11.66.70:2次
222.169.224.197:1次
122.226.202.12:2次
61.168.227.12:1次
Ans:219.150.161.20

Q6:有多少請求被傳送到 Apache 伺服器?

在 apache2 資料夾下找到 access.log,access.log 記錄了所有對伺服器的 HTTP 請求,每一行都代表一個請求,而總共有 365 行。
Ans:365

Q7:防火牆中新增了多少條規則?

更改防火牆規則是需要 sudo 權限的,既然要 sudo 就會記載 auth.log 裡,在 Linux 最常見的是 iptables 或 ufw,所以我們可以在 auth.log 中搜尋 iptables 和 ufw。在 PowerShell 裡面輸入

Select-String -Path .\auth.log -Pattern "ufw|iptables"

(linux就用grep)
https://ithelp.ithome.com.tw/upload/images/20250829/201779987jowjP6Seg.png
ufw allow 53 和 iptables -A INPUT -p tcp --dport 53 -j ACCEPT 都是開通 53 port,可以把他當作同一個規則,以此類推,比對後這六個 port 有加規則。port 113, port 53, port 0303, port 22, port 2685, port 2424。
Ans:6

Q8:目標系統上下載的其中一個檔案是一個掃描工具。該工具的名稱是什麼?

term.log 的主要功能是記錄透過終端機執行 APT 命令的完整輸出,由於 Linux 系統 (尤其是 Ubuntu 和 Debian) 通常會透過 APT 來安裝軟體,所以新增到系統上的套件,都會在 term.log 中留下安裝記錄。
在 term.log 中成功安裝的工具會記錄這樣的 log:Setting up
搜尋 Setting up
https://ithelp.ithome.com.tw/upload/images/20250829/201779989sAxyXALMf.png
輸出中可以看到 nmap,nmap 是一款功能強大的開源網路掃描工具。
Ans:nmap

Q9:攻擊者 IP 位址為 219.150.161.20 的最後一次登入是什麼時候?

在 auth.log 搜尋 Accepted password for root from 219.150.161.20,最後一次登入為 Apr 19 05:56:05,但並沒有顯示年分。
dpkg.log 用於記錄所有由 dpkg (底層套件管理工具) 執行的動作,其中執行時間包含年分,可以看倒是 2010 年。
Ans:2010-04-19 05:56

Q10:資料庫顯示兩個警告訊息(warning messages)。請提供最嚴重且可能有危險的一條。

daemon.log 用於記錄來自後台服務或守護進程(daemons)的訊息,而資料庫、郵件服務等都屬於守護進程。
在 daemon.log 搜尋 warning 找到警告訊息
https://ithelp.ithome.com.tw/upload/images/20250829/20177998mT7Z6e5GwO.png
WARNING: mysql.user contains 2 root accounts without password!
這是最嚴重的警告。它表示資料庫中有兩個 root 帳號沒有設定密碼。root 是資料庫的最高權限使用者,沒有密碼代表任何人都可以對資料庫有完整控制權。
其他幾個像是:表格損壞 (WARNING: mysqlcheck has found corrupt tables)、一個客戶端沒有正確地關閉資料庫表格 (warning: 1 client is using or hasn't closed the table properly) 等等,他們的嚴重程度遠小於上面那個。
Ans:mysql.user contains 2 root accounts without password!

Q11:目標系統上建立了多個帳戶。哪個帳戶是在 4 月 26 日 04:43:15 建立的?

建立帳戶又要回到 auth.log,搜尋 Apr 26 04:43:15
https://ithelp.ithome.com.tw/upload/images/20250829/201779985HWndFGBxf.png
Ans:wind3str0y

Q12:少數攻擊者使用proxy來執行掃描。該proxy對應的user-agent是什麼?

要解這題我們要回到 access.log,access.log 會記錄所有 HTTP request,而掃描工具就是用大量 request 達到掃描的效果,而且 HTTP request 中帶有 user-agent 資訊。
用 Linux 的可以用 awk,我用的是 PowerShell

Get-Content .\www-access.log | ForEach-Object {
     $fields = $_.Split('"')
     $userAgent = $fields[5]
     "$userAgent"
} | Select-Object -Unique

這個指令會列出不重複的 user-agent
https://ithelp.ithome.com.tw/upload/images/20250829/20177998abRhuklUEB.png
pxyscand 不是常見的 user-agent,資料顯示他是一個 network proxy scanner
https://ithelp.ithome.com.tw/upload/images/20250829/20177998vORQsUBx1q.png
Ans:pxyscand/2.1

小結

今天的 lab 著重在 Linux 各種 log 的分析,所有分析都圍繞著 log 展開,我們學到了各種 log 可以獲得的資訊和分析方法:auth.log 記錄身分驗證事件(登入、sudo、權限變更)、kern.log 記錄內核訊息(系統版本、硬體資訊)、access.log 紀錄 apache2 請求記錄、term.log 紀錄 APT 套件安裝記錄、daemon.log 紀錄系統守護程序訊息。
明天我們將進入更複雜的 Windows disk forensics。


上一篇
【Day 09】Memory Forensics 03:PowerShell 偽裝下的多階段攻擊 - Reveal Lab
下一篇
【Day 11】Disk Forensics 03:Windows 瀏覽器與郵件鑑識 - Silent Breach Lab
系列文
我一個大調查下去:從零開始的數位鑑識13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言